package fixmodel.factory;

import fixmodel.base.Quack;

/**制造鸭子类的抽象工厂,它的子类们会创建不同的家族
 * @author yaojianfeng
 */
public abstract class AbstractDuckFactory {
    /**
     * 创建绿头鸭
     * @return 绿头鸭
     */
    public abstract Quack creatMallardDuck();

    /**
     * 创建红头鸭
     * @return 红头鸭
     */
    public abstract Quack creatRedHead();

    /**
     * 创建鸭鸣器
     * @return 鸭鸣器
     */
    public abstract Quack creatDuckCall();

    /**
     * 创建橡皮鸭
     * @return 橡皮鸭
     */
    public abstract Quack creatRubberDuck();

    /**
     * 创建大鹅对象
     * @return 大鹅
     */
    public abstract Quack creatGoose();

}
